// 读文件
// 二进制方式读文件主要利用流对象调用成员函数read()来实现
// 函数原型：
// istream& read(char* s, streamsize n);
// 参数解释：
// 字符指针s：读取的内容存放在s中
// streamsize n：读取的字节数
// 返回值：返回流对象的引用
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
class Person {
   public:
    char name[64];
    int age;
};

void test01() {
    // 1.创建文件输入流对象
    ifstream ifs;
    // 2.打开文件
    ifs.open("person.txt", ios::in | ios::binary);
    // 3.判断文件是否打开成功
    if (!ifs.is_open()) {
        cout << "文件打开失败" << endl;
        return;
    }
    // 4.读数据
    Person p;
    ifs.read((char*)&p, sizeof(Person));
    cout << "姓名：" << p.name << " 年龄：" << p.age << endl;
    // 5.关闭文件
    ifs.close();
}
int main() {
    test01();
    system("pause");
    return 0;
}